package com.nowcoder.community.dao;

import com.nowcoder.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
public interface DiscussPostMapper {
    /**orderMode=0，普通排序，orderMode=1，按照热度排序 */
    //分页：offset是起始行号，limit是返回的条数
    List<DiscussPost> selectDiscussPosts(int userId, int offset, int limit, int orderMode);

    // @Param注解用于给参数取别名,
    // 注意：如果方法只有一个参数,并且在动态sql的<if>里使用,则必须加别名，否则报错
    int selectDiscussPostRows(@Param("userId") int userId);
    //发布帖子
    int insertDiscussPost(DiscussPost discussPost);
    //查看帖子详情
    DiscussPost selectDiscussPostById(int id);
    //添加评论时，更新帖子数量
    int updateCommentCount(int id, int commentCount);

    //置顶加精和删除时，要改变帖子的类型和状态
    int updateType(int id, int type);
    int updateStatus(int id, int status);
    //更新帖子的分数
    int updateScore(int id, double score); //计算热帖分数


}
